package com.cxyd.modules.job.service;


import com.cxyd.common.page.PageData;
import com.cxyd.common.service.BaseService;
import com.cxyd.modules.job.dto.SysJobDTO;
import com.cxyd.modules.job.entity.SysJobEntity;

import java.util.Map;

public interface SysJobService extends BaseService<SysJobEntity> {
    PageData<SysJobDTO> page(Map<String, Object> params);
    SysJobDTO get(Long id);
    void save(SysJobDTO dto);
    /**
     * 更新定时任务
     */
    void update(SysJobDTO dto);
    /**
     * 批量删除定时任务
     */
    void deleteBatch(Long[] ids);
    /**
     * 批量更新定时任务状态
     */
    int updateBatch(Long[] ids, int status);
    /**
     * 暂停运行
     */
    void pause(Long[] ids);

    /**
     * 恢复运行
     */
    void resume(Long[] ids);

    /**
     * 校验cron表达式是否有效
     *
     * @param cronExpression 表达式
     * @return 结果
     */
    public boolean checkCronExpressionIsValid(String cronExpression);
}
